1. Technical Field
The present invention relates to a technology for preventing unauthorized tampering and analysis of a program.
2. Background Art
Technologies for preventing unauthorized tampering and analysis of a program have been studied to this date.
For instance, some software sold in a package requires the user to input a password in order to prevent the use of an illegal copy. In such software, a code (a computer program) for checking the correctness of the password is included. If by some means an unauthorized user finds a location within the software, at which the checking code is present and tampers with the code so as to void the checking operation, the unauthorized user can use the software without knowing the password.
In addition, paid digital content that can be viewed on a PC (personal computer) has been provided in recent years. Such paid digital content is encrypted so as to prevent unauthorized copying of the content, and software used to view the content includes a decryption algorithm and a decryption key for decrypting the encryption. If a malicious user is able to analyze the viewing software and thereby find the decryption key, the user can create software allowing for unauthorized copying of the digital content.
Thus, if software is analyzed, software-related and digital content-related businesses cannot be maintained. Therefore, the technology for preventing software analysis is absolutely essential.
For example, Non-patent Reference 1 describes fundamental principles and specific methods for preventing software analysis. Additionally, Non-patent Reference 2 discusses technological issues and measures of TRCS (Tamper Resistant Coding System) developed as a tool for preventing software analysis. Furthermore, Non-patent Reference 3 describes a technology for keeping software-based protection means (copy protect technology) used for preventing illegal copying of software from being voided.
These technologies for preventing unauthorized analysis and tampering of software are called “tamper resistant technologies”.
<Non-patent Reference 1>“Gyaku-kaiseki ya Kaihen kara Soft wo Mamoru (Protecting Software from Inverse Analysis and Tampering)” Nikkei Electronics, 1998. 1. 5 (pp. 209-220)
<Non-patent Reference 2>“Software no Tai-tampering Technology (Software Tamper Resistant Technology)” Fuji Xerox Technical Report No. 13
<Non-patent Reference 3>“The Protect” Shuwa System Publication, 1985
<Patent Reference 1>Japanese Laid-Open Patent Application No. H11-15705